package com.springBootStudy.annotation.pojo;

import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

/**
 * @ program: elasticSearch_springBoot_study
 * @ description:
 * @ author: Mr.Zhongsf
 * @ create: 2021-03-09 10:54
 **/

//@Component 等价于  <bean id="user" class="com.springBootStudy.annotation.pojo.User"/>

//component组件 放在类上,说明这个类就被spring管理了,就是bean
//<context:component-scan base-package="com.springBootStudy.annotation"/>  component-scan组件扫描

//    @Component      修饰pojo
//    @Controller     修饰controller
//    @Service        修饰service
//    @Repository     修饰dao
// !! 这四个注解的功能都是一样的 都是将某个类注册到spring 容器中 装配 bean

//@Value相当于 <property name="name" value="zsf777"/> 属性赋值
//@Data 相当于为类标注了@Getter,@Setter此外还提供了equals()、hashCode()、toString() 方法
//  @Scope("singleton") 单例模式
//  @Scope("prototype") 正常模式


@Component
@Scope("singleton")
public class User {

    public String name = "zsf777";



    //@Value相当于 <property name="name" value="zsf777"/>
    @Value("zsf777")
    public String name2;

}
